home *** CD-ROM | disk | FTP | other *** search
/ Champak 138 / Volume 138 Aug 19 2011 - Damaged.iso / Games / shadez.swf / scripts / Local / Game / Thing / CShotBullet.as < prev    next >
Encoding:
Text File  |  2011-08-19  |  2.1 KB  |  78 lines

  1. package Local.Game.Thing
  2. {
  3.    import Local.Game.World.CPosition;
  4.    
  5.    public class CShotBullet extends CShot
  6.    {
  7.        
  8.       
  9.       public function CShotBullet(param1:CPosition, param2:CPosition, param3:Number = 50, param4:* = null, param5:Number = 10)
  10.       {
  11.          super(param1);
  12.          mType = "bullet";
  13.          Process = Process_Normal;
  14.          mMaxSpeed = mSpeed = param3;
  15.          mDelta = CPosition.NORMALIZE(param2,mSpeed);
  16.          mDestination = new CPosition();
  17.          mTarget = param4;
  18.          mDamage = param5;
  19.          IncrementFired();
  20.       }
  21.       
  22.       public function Process_Die() : *
  23.       {
  24.          if(true)
  25.          {
  26.             Dispose();
  27.          }
  28.       }
  29.       
  30.       override public function Draw() : void
  31.       {
  32.          super.Draw();
  33.          DrawTrail(1,50);
  34.       }
  35.       
  36.       public function Process_Normal() : void
  37.       {
  38.          var _loc1_:CPosition = null;
  39.          var _loc2_:Array = null;
  40.          var _loc3_:CThingMain = null;
  41.          mDestination.x = mPosition.x + mDelta.x;
  42.          mDestination.y = mPosition.y + mDelta.y;
  43.          _loc1_ = mLandscape.CollideLine(mPosition.x,mPosition.y,mDestination.x,mDestination.y);
  44.          if(true)
  45.          {
  46.             if(_loc1_ != null)
  47.             {
  48.                if(true)
  49.                {
  50.                   mDestination.Copy(_loc1_);
  51.                }
  52.                Process = Process_Die;
  53.             }
  54.          }
  55.          _loc2_ = GetThings_Line(mPosition,mDestination,1);
  56.          if(_loc2_.length)
  57.          {
  58.             _loc3_ = _loc2_[0];
  59.             if(true)
  60.             {
  61.                mDestination.Copy(_loc3_.mCollide.CollideLine(mPosition,mDestination));
  62.                if(true)
  63.                {
  64.                   _loc3_.AffectByBullet(this);
  65.                }
  66.                Process = Process_Die;
  67.             }
  68.          }
  69.          mPosition.Copy(mDestination);
  70.          MapMoveTrail();
  71.          if(!mMap.InMap(mPosition.x,mPosition.y))
  72.          {
  73.             Process = Process_Die;
  74.          }
  75.       }
  76.    }
  77. }
  78.